#ifndef __HASH_H_
#define __HASH_H_
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <pthread.h>

#define HTABLE_LEN 7

// 数据域
typedef struct datatype
{
    char topic[32]; // 主题
    int pid;        // 订阅进程ID
} datatype_t;

typedef struct node
{
    datatype_t data;
    struct node *next;
} hashtable_t;

// hash表数组 数组中存储的是指针
hashtable_t **create_hashtable();

// hash算法
int hashcode(const char *string);

void insert_data_hash(hashtable_t **h, char *key, datatype_t value);

int search_hash(hashtable_t **h, char *key, int result[]);

void print_hash(hashtable_t **h);

#endif